Reception frequencies of wireless communication receivers generally should be precisely maintained relative to the transmit signal frequencies of interest. For example, if the down-conversion mixer in a wireless communication receiver operates with an erroneous frequency offset relative to the carrier frequency of the incoming communication signal, symbol demodulation and decoding will be compromised, even for very slight errors. Frequency offset correction therefore is generally required in wireless communication receivers, to compensate for Doppler shifts due to mobility and clock differences in the transmitter and receiver.
Frequency offset correction often is broadly referred to as Automatic Frequency Control (AFC), although there are a variety of known compensation techniques generally falling under the ambit of AFC. A top-level AFC, which generally provides relatively coarse frequency offset correction, is implemented in the analog domain of a receiver's front-end and involves the trimming of oscillators used for generating down-conversion signals at the proper frequency. A receiver might, for example, adjust the capacitance controlling oscillator's speed.
Additional AFC offering greater precision is also known. In an example of this, a digital de-rotator is used to correct signal samples for frequency offsets. While this approach advantageously offers a finer resolution than practically obtainable with coarse AFC, de-rotation requires very accurate measurements of receiver frequency error. Known approaches therefore commonly rely on measurements only from the strongest signal paths, to make frequency error determinations. Further, because such determinations conventionally suffer the effects of ISI and other received signal impairments, heavy filtering is used. Such filtering results in relatively slow correction responses. As such, these approaches are relatively poor at correcting faster changing frequency errors and are essentially useless in correcting transient frequency errors arising from clock jitter, for example.